Ant Movie Catalog Help

Ant Movie Catalog

Version 3.5

Use the index on the left to naviguate through this help file


General information

This program allows to manage catalog of movies. This mean that you can have several catalogues to classify movies separately. Each catalog can contain a nearly-infinite number of movies, and is stored in a file that can have a ".amc" or a ".xml" extension depending of the selected format. These cataloges can be managed with the [image] New, [image] Open, [image] Save and [image] Save As icons of the toolbar and File menu.

When a catalog is open (or in an empty new one), you can add new movies with the [image] Add icon that will display the number select window (each movie has to have a number, but you can ask to use automatic numbering by checking the "Do not ask again" option of this window). Using this command, you can add movies to the catalog, do not forget to save it sometimes.

Now you can fill-in the various fields. The [image] Get Information icon displays a menu that allows you to import information from files or from script.

  • The importation from files will try to get all useful information from media files (.avi, .mpeg, etc.). you can also drag & drop a file from Windows Explorer to Ant Movie Catalog window.
  • The importation from script displays the Scripting window that provides scripts for importing information from various websites. This is the easiest way to fill all the movie-related fields if you have an Internet connecion.

You can also store or link a picture to your catalog. Some scripts provide a picture when importing information, but you can also manually add a picture from your computer by clicking the [image] Select Picture icon (located at the bottom left corner of the main window) or by doing a drag & drop of a picture from Windows Explorer.

If you have your list in another format (e.g. a Microsoft Excel document) you can use the Import window to import it into the current catalog.

Do hot hesitate to discover all the functionalities available in the menus. Take also some time to inspect all available options available in the Preferences window through the [image] Preferences icon.


Movie information

In the main window you can enter several information for each movie:

  • Media label: You can store here the number of the disc, tape, barcode, label or anything else
  • Media type: The support used to store movie (CD, DVD, VHS, etc...)
  • Source: Where/How you got the movie
  • Date added: When the movie was added to the list
  • Borrower: Name of the friend that borrowed the movie
  • Rating: Did you like this movie ? You can say it here
  • Original title
  • Translated title
  • Director
  • Producer
  • Country
  • Category
  • Year
  • Length: Length of the movie, in minutes
  • Actors
  • URL: You can enter here a website address in relation with the movie. You can launch the default browser to surf to this URL by clicking on the button that is at the right of the field
  • Description
  • Comments
  • Video format: Codec or media used for video
  • Video bitrate: Video bitrate in kilobits per second
  • Audio Format: Codec or media used for audio
  • Audio bitrate: Audio bitrate in kilobits per second
  • Resolution: Width and Height of the movie (e.g. 640x480)
  • Framerate: Number of images per second
  • File Sizes: Size in megabytes of the movie. There can be multiple files (e.g. 650+590 or 1240)
  • Number of disks: Number of disks or tapes
  • Languages
  • Subtitles

All the lists store and retrieve their values from the XML file where are stored the preferences. You can edit them in the "Drop-down lists" page of the Preferences window. There is also an option to use current catalog values rather than predefined lists.

There are two additional "fields" that appear in some windows:

  • Checked: The state of the checkboxes in the main list; they can be enabled in the Preferences if you do not see them
  • Formatted title: Title displayed in the main list, that can combine both original and translated title for example; see Preferences for more information


Printing

In this window you can preview reports before printing them.

Select a template in the list of the left to preview it. In this list you see the files that were found in the "Templates" subfolder.

If you want to open a template from another folder you can use the "Load template" button.

You can specify a sort order: by number, original title, translated title, or select advanced sort options. When you select this option a window appears and you can select which field should be includ for sort, and in which order.

The "Movies to include" options allows to restrict the exportation to selected movies, checked movies (that is linked to the "Checkboxes" option) or visible movies (when using the "Display results" option of main window's search function).

When you are ready to print, simply click on the Print button, then a confirmation dialog will allow you to select the printer to use.

Important note: If you want to use another paper size, you have to modify the template with the Report Designer (default paper size is usually A4, but it depends of who made the template actually).

If you want to modify or create your own templates, click the "Report Designer" icon. For help on how to use it, see the Reports creation page in the Technical information section.


Import from another format

You can import data to the movie list from other file format.

Select one of the format in the list that is one the left of the "Import" window, then select the source file.

Available file formats:

  • CSV (can be used to import from Microsoft Excel and other programs)
  • AMC (Ant Movie Catalog)
  • BaseDVDivx
  • Divx Manager / eXtreme Movie Manager
  • Origons.com

The "Allow duplicate numbers" option can be used if you want to be sure that the movies that are imported keep their number. When importing a movie, if this option is not enabled and that there is already a movie with the same number, the new imported movie will receive a new number.


Import from CSV

CSV is a text file format which is really useful since many program allow to load and save such files (e.g. Microsoft Excel).

In these files each item is on one line, and all the fields of an item are separated by a character (usually comma or semicolon).

When you import such files, each row will be considered as one movie in the list. Then the row is separated in different fields. The program cannot know which movie information corresponds to which column in the CSV records. So you will have to "explain" it.

For that you will have to select the name of a field in the "Available fields names" drop-down list, and then click on the column title (header) corresponding to the selected value, as shown on the screenshots bellow:

Repeat these steps for each column that you want to keep.

If you do not associate a field name to a column header, this column will not be used when importing data.

If no "Number" column is specified, numbers will be created starting with highest movie number + 1.


Import from Ant Movie Catalog

This allows you to import movies from another catalog. You can import from any version of Ant Movie Catalog, except versions newer than current version of course.

Note that when upgrading to a new version of Ant Movie Catalog, you do not have to import your catalog into a new one, you can directly open the catalog, the program will convert it at first save.


Import from BaseDVDivx

BaseDVDivx is an old french movie manager, which use MyLittleBase database files, with ".bdv" extension.

The importation has been tested successfully with the files made with version 2.5 of BaseDVDivx.

If there are pictures in the catalog, the program will ask what you want to do with them. You have four choices:

  • Store: Stores the pictures into the catalog. This makes the file quite big if the pictures are large. If you save to XML the pictures will be re-exported when saving since they cannot be stored in the XML file.
  • Copy + Link: Copies the pictures to the folder of the current catalog, and then links to it. So original pictures are not needed anymore. This is not available if the current file has not already been saved somewhere.
  • Link: Makes a link to the pictures, to their original location. So you must keep the pictures where they are.
  • No pictures: Clears the picture field.

There is an hidden fifth choice: if you cancel this window (with the X button in the corner, or by pressing the Esc key) the picture field will not modified, and it will contain the picture filename as it was in the imported database. So you can copy the pictures manually to the folder of the catalog.


Import from Divx Manager

Divx Manager is a movie manager that uses Microsoft Access database, with ".mdb" extension.

Web site: www.binaryworks.it/extrememoviemanager

The importation has been tested successfully with the sample files that come with versions 0.5, 0.6, 0.8, 0.9 and 1.0 of Divx Manager.

If there are pictures in the catalog, the program will ask what you want to do with them. You have four choices:

  • Store: Stores the pictures into the catalog. This makes the file quite big if the pictures are large. If you save to XML the pictures will be re-exported when saving since they cannot be stored in the XML file.
  • Copy + Link: Copies the pictures to the folder of the current catalog, and then links to it. So original pictures are not needed anymore. This is not available if the current file has not already been saved somewhere.
  • Link: Makes a link to the pictures, to their original location. So you must keep the pictures where they are.
  • No pictures: Clears the picture field.

There is an hidden fifth choice: if you cancel this window (with the X button in the corner, or by pressing the Esc key) the picture field will not modified, and it will contain the picture filename as it was in the imported database. So you can copy the pictures manually to the folder of the catalog.


Import from Origons.com

Web site: www.origons.com

This will allow you to import a file containing your movie list in a standardized format, which is generated by the Origons' website. This site allows you to manage your movie list online.


Export to another format

You can export the movie list to common file format, e.g. for publishing, exchange or printing.

Available file formats:

  • HTML
  • CSV (can be imported in Microsoft Excel and lots of other programs)
  • SQL
  • Images only
  • Origons.com

You can specify a sort order: by number, original title, translated title, or select advanced sort options. When you select this option a window appears and you can select which field should be includ for sort, and in which order.

The "Movies to include" options allows to restrict the exportation to selected movies, checked movies (that is linked to the "Checkboxes" option) or visible movies (when using the "Display results" option of main window's search function).

The option "Copy images to the same folder than the exported file" allows to specify if you want to export images in addition of movie information.


Export to HTML

The "Export to HTML" option allows you to create an HTML file that will contain the full catalog in a portable format. You can upload this list on the web or give it to anybody that has a web browser.

The HTML file generated is based on a real HTML file. The program replaces special tags with movie and catalog information.

There are two templates: "Full" and "Individual". Old versions only had the "Full" template. The Full template is only one file, with the list of movies. Its name is the name that you select when you click "Export". The Individual template is one file per movie, with the information of each movie. By default the name is the name that you select when you click "Export" with the movie number appended at the end (you can change that in the Preferences window).

So if you export the catalog to "My movies.html" you will have:

  • My movies.html -> The list of the movies, based on the template loaded "Full" tab
  • My movies_1.html -> First movie, based on the template loaded in "Individual" tab
  • My movies_2.html -> Second movie, based on the template loaded in "Individual" tab
  • etc...

At the right of the template selection buttons ("Full"/"Individual" buttons) you can select if you want to export both templates or only the currently selected template.

All the tags begin with "$$". You do not really have to know them since you can add them with the "Insert Special Tag" menu. They include all the information that you can enter in the main window for a movie, but also the total number of movies, file name of the catalog, the current date and the current time.

There are two very important tags for the "Full" template: $$ITEM_BEGIN and $$ITEM_END. When creating the HTML file, the program will repeat the HTML code that is between these two tags for each movie. So all the tags begining by $$ITEM_ have to be placed between these two tags. On the other hand, these tags are useless for the "Individual" template.

The application includes sample templates that you can use or customize. Of course you can create a new one from scratch if you prefer, but I would recommend that you observer first this basic template:

<html>
  <head><title>$$FILENAME</title></head>
  <body><table>
    $$ITEM_BEGIN
      <tr>
        <td>$$ITEM_NUMBER</td>
        <td>$$ITEM_ORIGINALTITLE</td>
        <td>$$ITEM_TRANSLATEDTITLE</td>
        <td>$$ITEM_DESCRIPTION</td>
      </tr>
    $$ITEM_END
  </table></body>
</html>

Here we can see that the page will have the filename as title, and then a table listing all the movies. The program will write the <table> tag, and then repeat the <tr>...</tr> sequence for each movie since it is between $$ITEM_BEGIN and $$ITEM_END.

Here is a list of all the available tags:

  • $$DATE = Current date
  • $$TIME = Current time

Catalog file properties:

  • $$FILENAME = Catalog file name
  • $$FILEPATH = Catalog file name with full path
  • $$TOTALMOVIES = Number of movies in the catalog
  • $$OWNER_NAME = Name specified in catalog properties
  • $$OWNER_MAIL = E-mail
  • $$OWNER_SITE = Website
  • $$DESCRIPTION = Description
  • $$ITEM_FILEINDIV = Filename of individual page for current movie
  • $$ITEM_BEGIN = Begin of movie list
  • $$ITEM_END = End of movie list

    Movie fields:

  • $$ITEM_NUMBER = Number
  • $$ITEM_CHECKED = State of the checkbox
  • $$ITEM_MEDIA = Media label/barcode
  • $$ITEM_TYPE = Media type
  • $$ITEM_SOURCE = Source
  • $$ITEM_DATEADD = Date added
  • $$ITEM_BORROWER = Current borrower
  • $$ITEM_RATING = Rating (0 to 10)
  • $$ITEM_APPRECIATION = Appreciation, from 0 to 4 stars, using files appr*.gif
  • $$ITEM_ORIGINALTITLE = Original title
  • $$ITEM_TRANSLATEDTITLE = Translated title
  • $$ITEM_FORMATTEDTITLE = Formatted title, as defined in the Preferences
  • $$ITEM_DIRECTOR = Director
  • $$ITEM_PRODUCER = Producer
  • $$ITEM_COUNTRY = Country
  • $$ITEM_CATEGORY = Category
  • $$ITEM_YEAR = Year
  • $$ITEM_LENGTH = Length in minutes
  • $$ITEM_ACTORS = Actors list
  • $$ITEM_URL = Website address (without link)
  • $$ITEM_DESCRIPTION = Description
  • $$ITEM_COMMENTS = Comments
  • $$ITEM_VIDEOFORMAT = Video format/codec
  • $$ITEM_VIDEOBITRATE = Video bitrate
  • $$ITEM_AUDIOFORMAT = Audio format/codec
  • $$ITEM_AUDIOBITRATE = Audio bitrate
  • $$ITEM_RESOLUTION = Video resolution
  • $$ITEM_FRAMERATE = Video framerate
  • $$ITEM_LANGUAGES = Languages
  • $$ITEM_SUBTITLES = Subtitles
  • $$ITEM_SIZE = Files sizes
  • $$ITEM_DISKS = Number of disks or tapes
  • $$ITEM_PICTURE = Picture, embedded in a <img> tag
  • $$ITEM_PICTUREFILENAME = Filename of the picture


Export to CSV

CSV is a text file format which is really useful since many program allow to load and save such files (e.g. Microsoft Excel).

In these files each item is on one line, and all the fields of an item are separated by a character (usually comma or semicolon).

If you enable the picture export, a "Picture" column will be added, containing the file name of the picture.


Export to SQL

This isn't really a file format, but this export option will allow you to generate all the SQL commands useful to import easily the movie list in a database.

The primary idea was creating a mySQL database, viewable with a PHP page, because it would be much more interactive than an HTML page for the people that want to see your movie list if you put it on the web.

If you enable the picture export, a "PICTURENAME" field will be added, containing the file name of the picture.

There is an option to generate UPDATE queries instead of INSERT queries, if you want to update information without first deleting existing data. It updates the movies on the basis of their number, so it may cause problem if you modify the numbers of some movies. For the same reason, the field "Number" will be removed from the selected fields when exporting in this mode.


Export images only

This allows you to extract all the images from the catalog.

You can specify which names the images will have:

  • Append movie number to selected filename: When you click "Export" you have to select a filename. This filename will be used as basis for the names of the images; the program will append the movie number to the filename.
  • Use movie number.
  • Use title formatting (as defined in the options for the movie list): Uses the same formatting as the movie list of the main window.


Export to Origons.com

This will generate a file in a standardized format, that you will be able to import your list on Origons' website. This site allows you to manage your movie list online: www.origons.com.


Lent movies

This function allows you to manage the movies that your friends have borrowed from you.

The list on the top contains all the movies of the current catalog. At the bottom left you have the list of the borrower names. At the bottom right you have the movies currently borrowed by the seleced friend (in the list on the left).

To mark a movie as "Loaned out" you have to select the movie, and also the name of the borrower. Then you can use the "Check out" button, or double-click on the movie.

To remove the "Loaned out" status of the movie, select it in the borrower's list and use the "Check in" button, or double-click on the movie.

You can select several movies with Ctrl and Shift keys.

If you use an unique number or the "Label" field to indicate that several movies are on the same media, you may need the options "Include movies with same number" and "Include movies with same label" available from the "Options" icon. When these options are enabled, the movies with the same number or label than the selected ones are lent to the same people (except if they were already assigned to somebody else).

All the actions (Check in / Check out) are logged to a tab-delimited text file. See Preferences page for more information.


Scripting

With this module you can get movie information from internet and import them into your catalog, or apply a script to a movie list.

When the window is called by "Get information" -> "From Internet using a script" menu, the only visible scripts are those made for version 3.5 (at least) and that were defined as getting information from Internet. By default the script is applied to selected movies. When it is called by "Scripting" menu, all the scrips are displayed.

You may want to display only some scripts. This choice is done on the basis of the language defined in scripts' properties. It is the language of the information that the script imports. So this is more applicable to the scripts that get information from Internet. This filtering is done through the "Language filter" menu.

To start a script, click on the "Run" button, or double-click on its name in the displayed list, or press Enter or F9.

The "Movies to include" options allows to restrict the script to selected movies, checked movies (that is linked to the "Checkboxes" option) or visible movies (when using the "Display results" option of main window's search function).

The script is executed for each movie corresponding to this criteria. After each execution, a summary window shows the old and new values (if the "Show results" option is enabled). By default the only checked fields are those that have been modified by the script.

You can define which fields the script can modify using the "Modifiable fields" list.

If you click "Save" in the results window, the new values for checked fields will be kept. If you click "Save all", the window will not be shown for next movies. The program will ask you if you want it to remember which fields were checked by you, or if you prefer that this is done automatically depending of which fields have been modified by the script.

Warning: if the "Allow to clear fields" option is enabled, a field that as an empty value as new value will erase the old contents if it is checked.

The "Skip" button allows to go to the next movie without modifying the current one. The "Abort" button stops script execution (the movies already modified will keep their changes).

If the "Close this window at end" is enabled, the script window will close, except if you clicked on "Abort" or if there was an error in the script.

If the script provides it, some options are displayed in the "Script options" list. Double-click on an option to change it.

When importing from internet, if more than one movie is found (that can be very common on some sites) you will get a list asking you to select the right movie. For some scripts you will also have to select one value in a list for a field (e.g. several movie summaries may be available).

If you want to have more details about writing scripts, see the Script files creation page in the Technical information section.


Preferences

  • General display
    • Customize toolbar
  • Files
  • Movie list
    • Title formatting
  • Movie information
    • Drop-down lists
    • Media files importation
    • Picture importation
    • Search on internet
  • Scripting
  • Export
  • Folders

General display

Icon set: Allows you to select the "theme" of the icons that will appear in the toolbars. These themes are simple bitmap (".bmp") stored in the "Toolbars" folder. Some sets are provided with the program.

Color type: Specifies how toolbar icons should appear when mouse is not over them. Available values are "Automatic", "Greyed when inactive" (Windows 98/2000 style), "Blended light when inactive" (Office/Windows XP style), "Blended dark when inactive" or "Always colored".

Office XP style: Gives to menus and toolbars the same appearence than in Microsoft Office XP.

Images in menus: Display images on the left of menu items. These images are the same than the images used in the toolbar.

Soft borders for Movie List, Movie Information Panel and Picture Box: When enabled, the specified items in the main window appear with a "less lowered" border than usual. This may look better if you are using Windows XP with a visual theme.

Display logo: Application logo (splash screen) is displayed at startup.

Customize toolbar

You can select which icons should be displayed on the main toolbar. See this page for more information on each icon.

Files

Always create a backup copy: Each time the catalog is saved, the old file is renamed as ".bak".

At statup, automatically open...: Allows you to specify a file to open instead of creating a new file at startup. The option "Re-open last used file" opens last used file instead of specified file.

Number of recent files to display in menu: Last files that you used are displayed in the "File" menu, above the "Exit" item, to allow you to quickly re-open these files. You can select here the number of filenames that have to be stored in the history.

Repair files associations: Rewrites to Windows' registry values that allow to open .amc files with ANSYsoft Movie Catalog by double-clicking on then.

Store loans history: Records all loan changes (in/out) in a text file, using a tab-delimited format (so you can open it with programs such as Microsoft Excel). By default the file is stored in the application's folder, and is called "Loans history.csv". The same file is shared by all instances of Ant Movie Catalog so you can have problems if you use the loans window in several instances (this will be corrected later).

Movie list

Checkboxes: If this option is enabled checkboxes will be displayed in the movie list in the main window. The use of these checkboxes is free: e.g. they can be used to indicate which movies you've seen, which ones you already have, or anything else. These checkboxes can be used as filter for exportation, printing or scripting.

Hot track: Underlines items of the lists when mouse passes over them.

Enhanced scrollbars: Uses enhanced scrollbars for Main Window and Loans Window lists.

"Movie Number" column: Shows or hides the column containing the movie numbers on the left of the titles in main window. If you do not use the numbers, hiding this column makes more space available on the screen for other info.

Do not make a group for values that would be alone in this group: When using the "Group by..." function, if this option is enabled a group is created only if there are two or more movie that have the same value for the selected field. All the other movies appear together. This can be quite useful if you group by Number or Media Label.

Put these movies in a special common group: Create a "other" group with these movies rather than putting them directly in the list.

Put movies with empty values in a special common group: When using the "Group by..." function, if this option is enabled a group called "none" is created for the movies that do not have a value in the field used for grouping.

Display groups count: In "Group by..." mode, displays the number of movies in each group near the group name.

Full expand by default: When the "Group by..." function is enabled, this option opens all the groups when refreshing the list.

Confirm Delete: Ask for confirmation before deleting a movie from the list.

Confirm Undo: Ask for confirmation before undoing changes made to a movie.

Shortcuts, Previous/Next movie: Allows you to define a shortcut to jump to previous or next movie without loosing the focus of the current field. It is useful to modify one field accross lots of movies without needing to use mouse to select next movie. Default key is Ctrl + Page Up/Down, which is the same as Ctrl + Numeric pad 9/3.

Title formatting

Title to display:

  • Original title: Display only original title.
  • Translated title: Display translated title if available, otherwise original title is used.
  • Original title (Translated title): Display first the original title, and then the translated title if available.
  • Translated title (Original title): Display first the translated title, and then the original title. If translated title is not available, only the original title is displayed.
  • Label: Displays the contents of Media label field.

Put the following prefixes at the end: You can specify here the list of prefixes that will be placed at the end of the movie name (e.g. "The Matrix" will become "Matrix, The"). By default the list has English and French prefixes.
Simply enter the prefixes, one per line, without space or quote (a prefix will be recognized if, in the movie title, it is followed by a space or a quote).
I will not included other langues for the moment, because it can cause problems, e.g. "Die" in German ("The") will display the movie "Die hard" as "Hard, Die", which is not correct. But you can change the prefixes yourself to make them match to your language.

Movie information

Ask for number: When a adding a movie, a window will allow you to select the number of the new movie. If the option is disabled the number of the movie will be the default value, which is highest movie number + 1, except if you change the next option:

Use first available ...: Will use as default number the first available number instead of highest + 1.

Open "Get information ... window": When you add a movie the Script import or File import will be opened.

Edit default movie values: Displays another window, allowing you to modify the values that are already filled when you add a new movie in the list.

Rating - Do not display decimals: If this option is enabled the rating will be an integer number like in older versions.

Background Color: Allows you to select which color should be used as background of the Picture Window. e.g. It may look better with a white background if your images are made to be used on a web page with white background. Defaut value is BtnFace, which corresponds to the color of Windows' dialogs and buttons.

Fit picture in window: Zoom/Shrink picture to avoid scrollbars in the picture window.

Drop-down lists

Same options for all lists: Keeps the same options for all the lists.

Auto-sort items: Sort list contents alphabetically

Auto-complete while typing: If enabled, when you type text in a drop-down list in the main window there will be a "suggestion" of a matching value, like when you type an address in a web browser. This feature may cause problems if you have several items that are similar.

Use values of current catalog instead of predefined lists: Does not use the values entered for the lists, but searchs in the current catalog for values to display in the lists.

Automatically add values not in list: If the contents of a field is not in the list of this field, the value will be added to the list (e.g. if you enter a country that is not yet in the list, the program will add it to the list).

Edit items: This allows to edit the contents of the lists.

Media files importation

Get information from files: Allows you to specify what to do when a video file is dropped on the main window (e.g. from Windows Explorer) or when the user asks to get information from files (from the menu).

  • Import media label: Take the volume name of the drive where the file is and put it in the "Media label" field.
  • Import filename as title: Put the file name in the "Original title" field.
  • Import full path in the URL field: Put the file name and it's whole folder path.
  • Import size: Read the size of the selected files. The sum can be computed or simply written with a "+" between each size, depending of the selected option.
  • Import length: Read the length of the file (in minutes) and put it in the "Length" field.
  • Use internal engine ...: By default, MediaInfo.dll is used for all media types except AVI, because Ant Movie Catalog has it's own engine for that, which is much faster but less accurate.

Info to take from video & audio strams: Put these info in the fields with the same names. For AVI files if you use the internal engine, the codec names are defined in the "Codecs.ini" file.

Picture importation

Importing pictures from external sources: When you import an image, there are several ways to associate it to the movie:

  • Store picture into catalog: Keeps the picture file inside the catalog; this works only when the catalog uses the ".amc" format and not ".xml". Depending of the size of the pictures, this may create a very large catalog, so it will use more memory and take more time to load. With large pictures I really recommend to not use this option.
  • Copy picture to catalog folder, and link it to catalog: Copies the picture file to the folder where the catalog is stored, and then creates a relative link to the picture (so it only stores the picture name).
  • Only link picture: Only stores the path to the file in the catalog. The "Make relative path" option can be used if the catalog folder and the pictures folder are near, for example if the catalog is in "my documents\catalogs\movies.amc" and the pictures in "my documents\my pictures\posters". This allows you to not care about where are the folders "catalogs" and "my pictures". On the other side, if you want to be able to move the catalog without moving the pictures, you shoud rather not use relative paths.

The same options are displayed in the "Select picture" window.

The third option is not available for scripts in the current version since only "local" links (against "internet" links) are possible.

The pictures stored in the same folder than the catalog are supposed to "belong" to the catalog and so they are deleted when they are not used anymore by a movie (e.g. if you associate a new picture to a movie, the old one is not useful anymore). If you do not want this behavious, I recommend you to manually place pictures e.g. in a "Pictures" subfolder when you want to add them to the catalog, and then use the relative links to keep the catalog and their images "movable".

Search on internet

This allows you to customize the "Search on internet" menu. It contains the addresses of websites. When you select an item of the menu, it launches the browser to go to the site. It inserts current movie's title where you put a "%s" in the URL.

Names have to be unique. If you want to put separators you have to begin their name with a "-" ; then the address is ignored.

Scripting

Auto-run last script used: Runs the last used script when the scripting window is opened through the "Get information from script" command.

Use proxy when accessing to internet: Allows you to specify proxy server information if needed.

Keep connection alive: By default the connection is closed after each request (page or picture). If this option is checked, the connection will not be automatically closed. This may a little speed up the speed of the web requests, but I kept this as an option because lots of people had problems when the connection was kept open. If you get error messages like "Connection closed gracefully" when activated, do not use this option.

Export

Automatically reload last used template: Keeps the name of the opened template so it will be open next time the window is shown.

Line breaks will be replaced by ...: Allows you to modify the tag used to insert line breaks. Since it is the only tag that the program does not take from the template, you can define it here. If you want to use HTML you will probably use the default <br> tag, but you may want to use <br /> for XHTML or XML. You can also simply leave this field empty if you do not want to remplace linebreaks by something else.

Force picture size by adding attributes: Allows to specify a value for HTML attributes height & width. If you leave one of these fields (or both) blanks, the attribute will not be added.

SQL Date format: Allows to define which format has to be used for the date when exporting to SQL commands. If you leave the field empty, Windows' default short date format will be used. Mask characters are those used in Delphi: yy and yyyy = year (on 2 or 4 digits), m and mm = month (without or with leading 0), d and dd = day (without or with leading 0), and characters than should stay unchanged must be enclosed in quotes (e.g.: yyyy'/'mm'/'dd).

Remember filename of last exported file: Use last file name as default instead of catalog name.

Open exported file when export finished: Launch created file after export.

Individual pages and pictures filename style: Allows to specify how the program has to create to filenames of the multiple files that come with the exported file.

Example, if you export the file "My movies.amc" to "My list.html":

Exported filename + Movie number | Catalog name + Movie number | Movie title
my list.html | my list.html | my list.html | Full list
my list_1.html | my movies_1.html | matrix.html | First movie
my list_2.html | my movies_2.html | starwars - episode one.html | Second movie
etc...

Extension to append: Allows to force another extension for the individual files. This may be usefull if for example your main list is a .html file, but you want .php files for each individual movie pages. If this field is blank the main file extension is used for individual files.

Add zeroes in front of low numbers: If enabled, small numbers will be left-padded with zeroes so they are properly sorted with all file managers (only Windows XP Explorer seems to detect numbers in filenames for sorting).

Copy images to the same folder than the exported file: Extracts or copy images from catalog to the same folder than the exported file.

Copy only if target file does not exist: If enabled, the image of a movie will not be copied if the filename of this image already exists (only filename is compared, so the image will not be overwritten even if it is different).

Folders

You can define here the behaviour of the file selection dialog boxes for:

  • Loading or saving catalogs
  • Selecting a picture
  • Exporting
  • Loading or saving html template
  • Importing
  • Getting information from files
  • Saving graphic
  • Loading or saving script files

The option "Same options for all Windows" allows to define the same default folder for all windows.


Customize toolbar

All the items of the menu are available as toolbar icons. By default the toolbar displays commands that most people may need. You can customized this toolbar through the Preferences window.

File

New: Creates a new catalog.

Open: Loads a catalog file. There are two "Open" icons. The second one has a small arrow on its right side, allowing to display the last files used.

Save: Saves catalog under current file name.

Save As: Saves catalog under a new file name.

Print: Displays Print Preview window, where you can select a template, generate a report and print it.

Import: Allows to import movie items from other file formats.

Export: Allows to export the catalog to other file formats.

Properties: Display information about current file and catalog.

Exit: Closes the program.

Movie

Add: Adds a new movie to the list.

Change number: Allows to modify the number of the selected movie.

Delete: Deletes the current movie.

Find: Displays Find toolbar, to find a movie on the basis of a part of a specified field.

Display picture: Shows or hide the picture window.

Picture commands: Displays a submenu with the following icons...

Select: Select a picture that will be stored or linked to the catalog.

Save As: Saves picture to a file (only available with stored picture, not yet with linked pictures).

Copy: Copies the picture to the clipboard in bitmap format.

Delete: Delete current movie picture (for linked pictures, it only removes link, it does not delete the file from disk).

Dock/Undock: Changes the style of the Picture window, docked (integrated in main window) or undocked (floating window).

Copy: Copies all the information of the current movie to the clipboard.

Paste: Uses information from the clipboard as current movie information.

Undo: Reloads the current movie item. They are saved when you save the catalog or when you select another movie.

Get information: Displays a submenu with information importing commands...

From files: Allows to select files, to extract information from them (image or video files). It does the same than drag & dropping files on the main window.

From script: Displays script window, which allows you to use a script file to import movie information from internet.

Search on internet: Displays a user-customizable menu allowing you to launch the browser to search for a movie on the web.

Tools

Group movies: Groups the movies in the list depending of the value of a specified field.

Grid mode: Displays the movie list as a large grid with all the movies and their information.

Scriping: Displays script window, which allows to apply a script to a list of movies.

Renumber: Renumbers movies, begining at 1 with continuous numbers. This allows you to fill the missing numbers that appear when deleting movies, if you do not care that a movie does not have a fixed number.

Loans: List of all the movies that are currently lent and who has which movie.

Statistics: Displays charts about the current catalog.

Preferences: Allows to change program's options.

Language: Change the language of program's windows.

Help

Help: Displays this help file.

About: Displays information about the program's author and version.


Technical information

You can find here some technical information about Ant Movie Catalog:

  • Language files
  • Catalog files format
  • Script files creation
  • Reports (templates for printing) creation


Language files

The language files use a syntax similar to INI files. They are just plain text files, so you can edit them with any text editor, such as Windows' Notepad.

The file contains sections. A section is a name between brackets. The section names are application's windows names.

e.g.: [MainWindow]

Under that, you find all the items corresponding to the specified window. These items are pairs of attributes and values.

e.g.: Attribute=Value

The attributes are the paths to the component to translate, and the value is the new text to display. The path is build with the component name, a dot, then the property to modify ("component.property"). For some items there are components inside components. Sometimes there are arrays, so there is an index in square brackets. For window properties there is only a property name alone.

e.g. for [ExportWin] section:

Caption=Export to another file format // caption of the Exportation window
btn1.Caption=Help // caption of the first button of the Exportation window
Messages.Strings.String[0]=Unable to save // first message of the messages list of the Exportation window

The component names use "standard" names.

Buttons begin with "btn", Actions (menu/toolbar items) begin with "Action", Checkboxes begin with "CB", Radiobuttons begin with "RB", labels begin with L or LH, Entry fields begin with E, etc...

The base window dialog can have 0 to 4 buttons, called btn1, btn2, btn3, btn4; where btn1 is the button in the lower right corner.

A comment line begins with a semicolon (;) and is ignored by the program.

There is a special section that is used to display information in the language selection window:

[FileInformation]
Icon= A 16x16 bitmap image (4-bit color), MIME-encoded
Name= Name of the language, in English
LocalName= Name of the language translated in the language itself
Version= Version of the program for which the contents was translated (if lower than the VersionFormat, it means that parts are still in English)
VersionFormat= Version of the program for which the file structure is made
Comments= Free text (linebreaks = "|", link = <link>address</link>)
Authors= Name and e-mail addresses of the translators (each name/address is separated by a "|": name1|addr1|name2|addr2)

If you want to be notified of translation errors, you can launch the program with the /tr_show_errors parameter.


".amc" Catalogs files format

Notes

All types are Pascal types, since the program is made with Delphi.

Each "string" field is preceded by an integer (4 bytes, signed) that gives the size of the vector (size = 0 if no vector, i.e. empty string). So strings are string (char = 1 byte, unsigned) without ending delimiter.

The "Picture" field is an array of bytes, containing the picture file in its original format (PNG/JPEG/GIF).
Its type is given by the "PictureName" field that precedes.
If picture's size > 0, then PictureName contains the original extension of the file ('.png', .'.jpg' or '.gif'). If picture's size = 0 then PictureName contains a link to the picture (absolute or relative), or nothing if there isn't any picture associated with the current movie.

Version 3.5

Header:

strFileHeader35 = ' AMC_3.5 Ant Movie Catalog 3.5.x   www.buypin.com    www.antp.be ';
OwnerName:          string;
OwnerSite:          string;
OwnerMail:          string;
OwnerDescription:   string;

Movie structure, repeated for each movie:

Number:           Integer;
Date:             Integer;
Rating:           Integer;
Year:             Integer;
Length:           Integer;
VideoBitrate:     Integer;
AudioBitrate:     Integer;
Disks:            Integer;
Export:           Boolean;
Media:            string;
MediaType:        string;
Source:           string;
Borrower          string;
OriginalTitle     string;
TranslatedTitle   string;
Director          string;
Producer          string;
Country           string;
Category          string;
Actors            string;
URL               string;
Description       string;
Comments          string;
VideoFormat       string;
AudioFormat       string;
Resolution        string;
Framerate         string;
Languages         string;
Subtitles         string;
Size              string;
PictureName:      string;
PictureSize:      Integer;
Picture           array of Byte;

The only changes since version 3.3 is that the ICQ field of the header has been removed, and the Rating is stored as a 0-100 integer rather than 0-10 (the last digit is used as decimal part). The version 3.4 was using the same file format than version 3.3.


Script files creation

  • Constants
  • Functions/Procedures
  • Classes
  • Script properties
  • Debug tools

These script files are plain text files, so you can modify them with any text editor. But using Ant Movie Catalog's build-in editor allows to easily edit script header through the properties window.

The language used here is similar to Pascal and Delphi. If you never used Pascal but know another language (C, C++, PHP, Java or another), it will probably not be too difficult for you to learn it by studying existing scripts.

The script engine used here is the version 2 of Carlo Kok's Innerfuse Pascal Script.

Most of the basic functions are supported. There are also several functions and constants added for exchanging data with Ant Movie Catalog. This page describes them.

The script begins with a comment block, which is not visible when the script is opened with Ant Movie Catalog's editor. This block contains parameters that can be modified with the properties window.

Only scripts files that are in the "Scripts" folder will be displayed automatically in the list.

Constants

These constants are the identifiers of the fields, useful when you want to set or get the value of a movie field:

fieldNumber
fieldChecked
fieldMedia
fieldMediaType
fieldSource
fieldDate
fieldBorrower
fieldRating
fieldOriginalTitle
fieldTranslatedTitle
fieldDirector
fieldProducer
fieldCountry
fieldCategory
fieldYear
fieldLength
fieldActors
fieldURL
fieldDescription
fieldComments
fieldVideoFormat
fieldVideoBitrate
fieldAudioFormat
fieldAudioBitrate
fieldResolution
fieldFrameRate
fieldLanguages
fieldSubtitles
fieldSize
fieldDisks

Other constants:

dirApp: string; contains program's path
dirScripts: string; contains scripts' path

General Functions/Procedures

function Input(caption, prompt: string; var value: string): Boolean;
Displays an input box, allowing the user to enter a text. Returns True if user clicks OK, False if user clicks Cancel.

function GetPage(address: string): string;
Fetches an HTML page (or any other text file) using the GET method, and returns it as a string.

function GetPage2(address: string; referer: string): string;
Same than GetPage, but allows to specify a "referer" address (page that called the next one).

function PostPage(address: string; params: string): string;
Fetches an HTML page (or any other text file) using the POST method, and returns it as a string. The parameters have to be encoded with the URLEncode function.

function PostPage2(address: string; params: string; content: string; referer: string; forceHTTP11: Boolean; forceEncodeParams: Boolean): string;
Same than PostPage, but allows to specify also the content-type (instead of 'application/x-www-form-urlencoded'), give a "referer" address, force the use of HTTP 1.1 (rather than 1.0) and ask to the function to encode the parameters itself.

procedure GetPicture(address: string);
Fetches a picture and assigns it to the current movie.

procedure HTMLDecode(var Value: string);
Decode HTML characters contained in the string "Value" (e.g. "&eacute;" -> "é").

procedure HTMLRemoveTags(var Value: string);
Delete HTML tags found in the string "Value".

function URLEncode(source: string): string;
function URLDecode(source: string): string;
Converts characters to URL parameters (e.g. " " -> "+") and the other way round.

function GetField(field: Integer): string;
Reads and returns the value of the specified field of the current movie.

procedure SetField(field: Integer; value: string);
Stores a value in the specified field of the current movie.

function CanSetField(field: Integer): Boolean;
Informs the script if the specified field is checked or not in the modifiables fields list. The script does not have to worry about that since a SetFeld will not do anything if the field is not checked, but this function allows to prevent for example to download an additionnal page in the case that some field does not have to by imported anyway.

function CanSetPicture: Boolean;
Similar to CanSetField, indicates if the script can get a picture.

function GetOption(OptName: string): Integer;
Returns the value that the use selected for the specified option. The options names and their values are defined in the properties window.

function StringReplace(S, Old, New: string): string;
Replaces Old by New into S, and returns the result (S is not modified). Use #13#10 (without quotes) if you want to replace the linebreaks.

procedure Error;
Stops the script at current line.

procedure Sleep(ATime: Integer);
Waits for the number of milliseconds specified in parameter (useful to avoid server connection errors in large imports).

function CheckVersion(Major, Minor, Revision: Integer): Boolean;
Returns True if the current version of the program is at least the version specified in the parameters.

procedure Launch(command: string; parameters: string);
Executes an external file. This can be a program, a file, or a web address. "parameters" can be an empty string: ''.

function AnsiUpperCase(Value: string): string;
Changes all the letters of a string to uppercase. *

function AnsiLowerCase(Value: string): string;
Changes all the letters of a string to lowercase. *

function AnsiUpFirstLetter(Value: string): string;
Changes the first letter of a string to uppercase. Other letters are unchanged. *

function AnsiMixedCase(Value: string; Delimiters: string): string;
Changes all the letters that follow a letter of "Delimiters" to uppercase (first letter is also changed). Other letters of the string are unchanged. *
The delimiter parameter is a string containing characters that must be followed by an uppercase letter, e.g.: ' -' will make "This Is A Sample-Text".

* Accentuated letters are also converted, using Windows' current locale settings.

function UTF8Encode(Value: string): string;
function UTF8Decode(Value: string): string;
Converts a standard string to UTF8 (unicode) and the other way round. The unicode is not really supported (using "string" rather than "WideString"), so the function will only keep the characters that are available in current charset.

function AcceptLicense(LicenseVersion: Integer): Boolean;
Displays in a window the contents of the "License" field of the script as defined in the properties window with "I agree" and "Cancel" buttons. When the use accepts the license, he does not have to accept it again until the license number given in parameter changes. This allows to show the window to all users when the license changes, but not annoy them at each execution of the script.

procedure SetStatic(AName: string; AValue: string);
function GetStatic(AName: string): string;
Allows to read/write a "permanent" variable : the value assigned to this virtual variable will be kept between each program execution, unlike a global variable that would be lost when the script execution on select movies is finished.

procedure ShowMessage(message: string);
"Neutral" window that simply displays the message.

procedure ShowError(message: string);
Error window ("x" icon on a red circle).

procedure ShowInformation(message: string);
Information window ("i" icon in a balloon).

function ShowWarning(message: string): Boolean;
Warning window ("!" icon on a yellow triangle), with "OK" (returns True) and "Cancel" (returns False) buttons.

function ShowConfirmation(message: string): Boolean;
Confirmation window ("?" icon in a balloon), with "Yes" (returs True) and "No" (returns False) buttons.

PickTree functions

PickTree is the window displaying a Tree, typically to use to display a list of the available movie pages.

procedure PickTreeClear;
Clears the contents of the window - Call this before using the window since it is never cleared automatically.

procedure PickTreeAdd(Caption, Address: string);
Adds an item in the window. If Address is an empty string or if it the window is still empty, the item will be added as a root-level item. Else it will be added as a child item. The Address is the string returned by the window when the user selects an item.

procedure PickTreeMoreLink(Address: string);
Sets the address pointed by the button "Find more" on the PickTree window. This value is cleared by PickTreeClear, and the button is disabled if it is not initialized by PickTreeMoreLink.

function PickTreeExec(var Address: string): Boolean;
Shows the window. The Address parameter will contain the address string corresponding to the selected item. The function returns True if the user selected OK button, False if he selected the Cancel button.

PickList functions

PickList is the window displaying a simple List, typically to use to display a list of values available for one field (such as descriptions or comments). There is a large text area to display the currently selected item.

procedure PickListClear;
Clears the contents of the window - Call this before using the window since it is never cleared automatically.

procedure PickListAdd(Text: string);
Adds an item in the window.

function PickListExec(WelcomeText: string; var Selected: string): Boolean;
Shows the window. WelcomeText is the text displayed in the preview area when no item is selected. The Selected parameter will contain the selected item. The function returns True if the user selected OK button, False if he selected the Cancel button.

TStringList class

TStringList is a class that can be used to manage a list of strings. It can be useful to manage the webpages, sinces it allows to easily manage the lines separately.

Declaration: aList: TStringList;
Creation: aList := TStringList.Create;
Destruction: aList.Free;

The following methods and properties are available:
procedure LoadFromFile(FileName: string); loads a text file into the list
procedure SaveToFile(FileName: string); saves the contents to a text file
function GetString(LineNr: string): string; retrieves a line
procedure SetString(LineNr: string); sets a line
function Count: string Returns the number of lines of the list
property Text: string; Property allowing to get or set the whole list as just a simple string (used with function GetPage for example)

TJvSimpleXml and linked classes

This is a quite complete XML parser, allowing to handle XML documents easily. Not all its functionnalities are accessible through scripts, so the following list may be completed later when some features are added to the script engine.

The creation of the object is similar to the TStringList presented above.

It has the following methods and properties:
procedure LoadFromString(Value: string); loads an XML document from a string
procedure LoadFromFile(FileName: string); loads an XML document from a file
procedure SaveToString: string; stores the current XML document in a string
procedure SaveToFile(FileName: string); stores the current XML document in a file
property Root: TJvSimpleXmlElemClassic; items corresponding to the "root" node of the XML document

The various nodes of the document are TJvSimpleXmlElemClassic, based on TJvSimpleXmlElem. The latter has the following methods and properties:
property Name: string; node name: <name>
property Value: string; node value: <name>value</name>
property Items: TJvSimpleXmlElems; liste des sous-éléments du nœud
property Properties: TJvSimpleXmlProps; list of the properties (attributes) of the node: <name attr1="val1" attr2="val2">
property Parent: TJvSimpleXmlElem parent node
function GetChildIndex(AChild: TJvSimpleXmlElem): Integer; position in the list (Items) of the specified "child" node
procedure Clear; deletes all the items and properties of the node

The class TJvSimpleXmlElems has the following methods and properties:
property Count: Integer returns the number of items in the list
function GetItem(Index: Integer): TJvSimpleXmlElem; gives access to an item of the list by specifying its position
function GetItemNamed(Name: string): TJvSimpleXmlElem; gives access to an item of the list by specifying its name
procedure Clear; deletes all the items of the list
procedure Delete(Index: Integer); deletes the item at specified position
procedure DeleteNamed(Name: string); deletes the item that has the specified name
function Add(Name: string): TJvSimpleXmlElemClassic; creates and adds an item to the list

The attributes of each node are TJvSimpleXmlProp, that have the following properties:
property Name: string; name of the attribute
property Value: string; value of the attribute

These are stored and managed by the class TJvSimpleXmlProps, that has the following methods and properties:
property Count: Integer; returns the number of properties in the list
function GetItem(Index: Integer): TJvSimpleXmlProp; gives access to a property of the list by specifying its position
function GetItemNamed(Name: string): TJvSimpleXmlProp; gives access to a property of the list by specifying its name
procedure Clear; deletes all the properties of the list
procedure Delete(Index: Integer); deletes the property at specified position
procedure DeleteNamed(Name: string); deletes the property that has the specified name
function Add(Name: string; Value: string): TJvSimpleXmlProp; creates and adds a property to the list

Scripts properties

The title, the description and all other attributes/parameters of the scripts can be defined through this window. It is accessible by the [image] "Properties" icon of the script editor.

The title of the script should be quite short; it is usually the name of the site from which the information are imported. The "Get info from web" field indicates if the script can be used to get information from Internet. Only the scripts that have this field set to "True" are visible when the script window is called through "Get information" -> "From Internet using a script". When the window is called through "Scripting" menu, all scripts are displayed.

For each option that you define, you have to define its available values (positive integer numbers, associated to a description).

Debug tools

The toolbar visible in the script editor has commands similar to those available in Delphi:

  • Toggle breakpoint: places a breakpoint on the current line so the script execution is paused when executing this line. The line appears with a red background. You can also place a breakpoint by clicking in the left margin of the editor. Only the breakpoint placed on valid code lines are used. Unfortunately it is not possible to visually indicate what are invalid breakpoint like what Delphi does when executing the program. When the execution is paused, you can advance to the next like with the "Step over" button or continue the execution with the "Run" button.
  • Clear breakpoints: deletes in one click all the breakpoints defined in the script.
  • Step over: executes the current line (highlighted in blue) and goes to the next instruction.
  • Run to cursor: executes the script until it reaches the current line (so it generates a "virtual" breakpoint).
  • Evaluate variable: displays the contents of the variable that is at cursor position.
  • Add variable watch: adds to the watch list the variable that is a cursor position. This allows to know at any time the contents of the variable.


Reports (templates for printing) creation

To launch the Report Designer, click on the "Open report designer" button in the Print window. You can also use the shorcut that was added in the Start menu, or launch AMCReport.exe that is located in the same folder than Ant Movie Catalog.

This Report Designer is the FreeReport Designer, and it was nearly not modified (it is rather complex, so I'll probably leave it like it is now).

This page will show the different steps of the creation of a report.

Paper size selection

Go to File -> Page Options to select the paper size. Usually it will be A4 (or Letter). You can also select Lanscape orientation instead of Portrait if you want. In this window, in the "Options" tab, you can also specify the number of columns that you want on your page.

Bands

To be recognized, the fields have to be on "Bands". To put a band on the page, click on the Band icon band and then click on the page, where you can to place this band. Then you can select which band type you want to place:

Some types will never be used here. Those that you may want to use are:

  • Report title & Report summary: They only appear on the first page
  • Page header & Page footer: Header and Footer of each page
  • Master data: This is the most important band. It is the one that will be repeated for each movie

Select "Master data" and click "OK". Another window asks you to select the source, leave the default choice ("None") and click "OK".

Text items

To put a text item on the Master data band, select the Rectangle object icon rectangle and place it on the band (warning: do not place it outside the band, or it may not appear on the final report).

The Text editor is displayed:

You can enter the text that you want here, then click "OK". To get this window again, simply double-click on a text object.

In the contextual menu (right-click) of these rectangle objects, there are three options:

  • Stretched: If enabled, the last field's height will be increased if necessary. This does not seem to work for other fields
  • Word wrap: Wraps lines if larger than field
  • Autosize: Increases field's width if necessary

Variables (movie fields and others)

To put a movie field, simply add a text item (Rectangle object). In its properties, specify the field name between square brackets [ ]. The list of field names is available from the "Variables" button in the Text editor window:

The field names can also be printed using variables. For that, you have to put the "label:" prefix in front of the fiend name, the whole name+prefix being still between square brackets. This is useful to make multilingual reports (that follow the language used in the program).

In the drop-down list you can also select "Other" to see special fields such as Page number, date, etc...

You can put normal text and variables in the same text object.

Graphics

To put a picture, use the Insert picture icon [image]. The Picture window looks like that:

If you want to specify that this picture should display current movie's picture, click on the "Memo" button and enter "[Picture]" (or take it from the Variables list).

In the contextual menu of the picture object, there are three options:

  • Stretched: Resize the picture to fit in the object
  • Center picture
  • Keep aspect ratio

You can also draw lines, with the Draw line icon lines.

Scripts

In the window used for editing text items and pictures, a "Script" option can be checked. Then, the bottom part of the window allows to enter a script. The scripts used here are not related to those used by Ant Movie Catalog, except that the language used is also based on Pascal. Here are few examples:

  • If you want an image to appear only for Action movies, put the following code in the "Script" part of image's memo:

    begin
  Visible := [Category] = 'Action';
end;

  • If you want to put the year between parenthesis after the title only if the year is specified for the movie (to prevent empty parenthesis), put the following code in the "Script" part of a text item:

    begin
if ([Year] <> '') then
  tmp1 := [OriginalTitle] + ' (' + [Year] + ')'
else
  tmp1 := [OriginalTitle]
end;

    Then place in the text area the code [tmp1] to use the script result as a new variable.

Lots of functions of the Report Designer are not used here, such as the DB fields, the print preview, subreports, ... (for the print preview, save the template and then click "Refresh" in Ant Movie Catalog's script window, once the good template is selected in the list of course).

If you have problems with movie fields, be sure that they are on a "Master data" band. If fields such as "Total pages" do not work, be sure that the "Two pass report" option is checked in File -> Report Options.


Version history

  • 3.5.0 (13/03/2005)
    • Link to MediaInfo.dll to import info from files other than AVI: OGM, MKV, RM, WMV, DVD (IFO/VOB).
    • Completely reworked scripts window. Now scripts can define options that can be changed easily by users. They can also specify which fields can be modified. Few new functions for scripts and a XML parser have been added. The Results window has been redesigned too.
    • Debugging functionnalities for scripts: step by step execution, breakpoints, variables watch list, etc.
    • Scripting engine can now use external files: when you put a unit name in the "uses" of a script it will search for a file named like this unit and having a .pas or .ifs extension in the same folder.
    • "Import picture" and "Link picture" have been merged, radio-buttons are now displayed in the "Select picture" window. Options in Preferences window has been added to specify if you prefer to store or link the picture, so it is not needed anymore to modify scripts for that.
    • Export, Print, Statistics and Script windows now have an option to include all movies, or only the selected, checked or visible ones.
    • Separated language window displayed the first time that the program is launched; I hope that I will receive less e-mails of people asking how to switch the program to French ;)
    • Virtual field "Formatted Title" that can be used in sorting, so it is now possible to sort properly on the translated title. The "checked" field (checkboxes of the main window's list) has been added in the available fields too.
    • "Rating" field can now have one decimal like on IMDB.
    • Field names can be used in printed reports, so they are translated too (usage: [label:fieldname] where "fieldname" is the same than what you use to display one of the movie value).
    • Duplicate movie numbers are accepted (and for those that still want unique numbers, I added in the "Add movie" window some actions available in the case the new number already exists).
    • Group mode: Option added to put together the movies that were alone in their group. This is quite useful if you group movies by number of media label.
    • Some shortcuts changed in main window to make them more logical.
    • Lots of small corrections and improvements.
  • 3.4.3 (28/02/2004)
    • Corrected bug that prevents program from starting on some Pentium 4 systems.
    • License change: in addition of being freeware, the program is now opensource (GPL).
  • 3.4.2 (02/03/2003)
    • Import/Export with Origons website.
    • Few new options in Export options, in the Preferences window.
    • Few bug corrections.
  • 3.4.1 (22/12/2002)
    • Picture window can be docked at the right side of the main window.
    • Downloaded picture (in Get information from script) can be viewed before clicking OK.
    • Option to generate "update" queries instead of "insert" in the SQL export.
    • Find & Find next commands in the Script Editor.
    • Few bug corrections and options added.
  • 3.4.0 updated (04/10/2002)
    • Corrected few small details.
    • Added importation of Divx Manager 1.0 database.
  • 3.4.0 (08/09/2002)
    • Printing, using customizable templates.
    • When in Grid mode, columns width and order are saved.
    • Threaded download: should resolve some problems with Main Window/Script Window when downloading a web page.
    • Import video and audio bitrate from AVI files.
    • Functions to modify the case (upper case, lower case, mixed case...) in the Scripting tool.
  • 3.3.1 (30/07/2002)
    • XML file support: you can chose to use XML for your catalogs instead of the binary ".amc" file format.
    • Settings and drop-down list contents are stored into a XML file instead of INI/TXT files.
    • Added options for the drop-down lists, e.g. the possibility to use catalog values instead of predefined lists.
    • Imports pictures when importing Divx Manager & BaseDVDivx databases.
    • A click on the picture in the main window displays a new window with the fullsize picture.
    • Default values of a new movie can be modified from the Preferences window.
    • Possibility to link pictures that are drag & dropped on the main window.
    • Option to specify the kind of filename that get the pictures when exporting.
    • When exporting to SQL or CSV, a column containing the filename is added if pictures are exported.
    • Web page request from the script can be done with the POST command instead of GET if necessary (experimental).
    • Flag icons in the language selection window.
  • 3.3.0 updated (22/06/2002)
    • Corrected sorting of movie list in the loan window.
    • Added scripts.
  • 3.3.0 updated (10/06/2002)
    • Corrected a bug in the SQL Export (only visible on Unicode systems).
    • Corrected a bug in the function HTMLDecode for the Scripting.
  • 3.3.0 (26/05/2002)
    • Two new fields: "Source" (where/how you got the move) and "Media Type" (CD, DVD, VHS, ...).
    • "Group by" feature (in "Tools" menu), which allows to display the list as a kind of tree.
    • "Grid view" mode, displaying all the movies' information in a large list instead of usual view (for the moment you cannot modify anything when using this mode).
    • New Find window, which acts like a toolbar, allowing to keep it open when using the list. Also a "Display results" option which displays only movies than match the search criteria.
    • Allows to select more than one movie for deleting, check/uncheck, scripting, ...
    • Saves column sort orders (main window and loans management window).
    • Update to latest version of TPNGImage: PNG images support 32 bits alpha transparency.
    • Diabled GIF animation, since it was awfully slow to load.
    • New Picture Window: Dock/Undock works much better
    • Upgraded to tb2k/tbskin 2.0.13.
    • Import another .amc file in current file.
    • Import for .bdv files from BaseDVDivx 2.5.
    • Import for DivxManager 0.5, 0.6 & 0.8 databases.
    • Export Full or Individual HTML files: allows to make one file per movie, useful for longs list.
    • When importing information from avi/divx files, the program imports video & audio codec name.
    • Import .film files from www.moviecovers.com.
    • Much faster start & exit, and list refresh.
    • Scripting mode: Run a script on a list of movies, which allows mass import, find & replace, etc...
    • In the Script window, a page displays the scripts found in the "Scripts" folder, for easy selection of script.
    • Import movie picture from scripts in addition of movie information.
    • Colored HTML & Script editor.
    • Option to automatically run last used script when opening Script window.
    • Option to open a specified catalog at startup or re-open the last used catalog.
    • Option to put words such as "The", "A", ... at the end of the title, when displayed in the list (by default English & French words are in the list).
    • Option to disable autocomplete in drop-down lists since few people had problems with it.
    • When adding a movie, option to use first available number instead of highest number + 1. Also options to automatically call "Get info from script" and "Get info from files" windows.
    • Some other options.
    • Improved 16x16 icon and added 48x48 icon.
  • 3.2.1 update (26/02/2002)
    • Corrected a bug with the Progress window (open/save/export/...) and modal windows.
    • CSV import bug corrected (in the version of 18/02/2002).
    • Upgraded to new version of Toolbar2000 and TBSkin.
  • 3.2.1 (16/02/2002)
    • Improved the script system, added a script to import data from www.allocine.fr, and corrected a bug: crash when importing too long descriptions.
    • Corrected the bug of untranslated items under Windows 95/98, now all should be translated correctly.
    • Improved speed of refreshing the movie list (when loading a file, applying options or renumbering movies).
  • 3.2.0 (09/02/2002)
    • Ability to import movie information from internet ! It uses a scripting system, with Object Pascal as language. The initial release only includes script to import data from IMDB, but other scripts will be released soon.
    • User-customizable menu that can launch the default web browser to do a search about a movie on internet.
    • Loans history logging, in a CSV file.
    • Different toolbar icon sets, which can be modified or created by the user by adding .bmp files in the application's folder.
    • Pie chart (statistics window) added for Framerate, Years and Lengths.
    • Customizable linebreak tag for HTML export.
    • New window for "Renumber movies" function, allowing to select how to sort movies before renumbering.
    • Upgraded to new version of Toolbar2000 and TBSkin.
    • Supports Windows XP themes (uses Windows' skin).
    • Corrected the bug of the advanced sort, and other small bugs.
    • Converted Help to CHM format.
  • 3.1.0 updated (08/01/2002)
    • Few very small bugs corrected.
  • 3.1.0 (22/12/2001)
    • Unlimited-length fields (actually limited to 2147483647 characters under Windows NT/2000/XP and 65535 under Windows 95/98/ME).
    • New fields: Audio Format, Audio & Video bitrate, Number of disks, Framerate, Media label/barcode.
    • Statistics: Chart with catalog statistics, e.g. Additions frequency, Countries, Categories, etc...
    • New Find window, allowing to find on the basis of any field.
    • New movie is created if you drag & drop files when no movie is selected.
    • New picture actions: "Copy picture to clipboard", "Link picture" (which only save a link to a picture instead of store it in the catalog).
    • PNG supported for movie picture.
    • Picture included in movie copy/paste operations.
    • New options: "Fit picture in window", "Disable startup logo", Shortcut keys to go to previous/next movie without loosing active field.
    • New tags for HTML export: $$FORMATTEDTITLE 1 & 2.
    • New toolbars & menus system, with skins for them (Office 2000, Office XP, Windows XP).
    • New catalog property: "Description".
    • Conversion from Delphi 5 to Delphi 6.
  • 3.0.1 (28/10/2001)
    • Full translation to French, other languages will follow.
    • Better handling of drag & droped files.
    • Can save a copy of the picture of a movie to a new file.
  • 3.0.0 updated (24/10/2001)
    • Fixed a small bug with Windows XP and the number fields (fields with arrows to change value).
    • Fixed a strange bug that occured only on some systems: when the program started it was always asking if the user wanted to save the file.
  • 3.0.0 (14/10/2001)
    • Program name has changed: now it is Ant Movie Catalog instead of ANSYsoft Movie Catalog, because ANSYsoft group nearly disappeared.
    • Images and loans are stored inside catalog file. That's why files are bigger. So the .jpg, .gif and .amcl files are not more useful: they are included into the .amc file.
      Possibility to save the catalog without images (e.g. to send by mail a smaller file) by selecting "Ant Movie Catalog 3.0 without images or loans" in the Save As window.
    • Better date handling for "Added date" field.
    • Allow to enter en empty value for year or length in movie information.
    • Selected movie becomes visible in the list when searching or adding a movie.
    • Movie number can be modified (contextual menu in movie list or "Movie" menu).
    • Progress window while loading/saving.
    • Removed "Import movie information" window since it seemed not very useful. Now you can Drag & Drop a video file on main window to import file size. If it is an AVI or Divx resolution and length can also be imported.
    • Option Window a little redesigned and new options.
    • Better template management for HTML export.
    • Option to specify if images have to be exported moved from Options window to Export window.
    • Export function "Images only".
    • Properties window modified.
    • Logo displayed at startup.
    • Lots of small changes.
  • 2.1.1 updated (14/08/2001)
    • Corrected a bug in the "Save as" window and in other similar windows..
  • 2.1.1 (22/07/2001)
    • Partial french translation.
    • Corrected a bug in the SQL export.
  • 2.1.0 (12/07/2001)
    • Lots of small bugs corrected.
    • Number of movies in the catalog is visible in the titlebar.
    • Last used files in the File menu.
    • Contextual menu for main window's movie list.
    • "Renumber Movies" function.
    • The picture window can be docked in the main window, bellow the movie list.
    • Drag & Drop support for the main window: files can be opened this way.
    • Option to display checkboxes in the main window's movie list to specify if a movie has to be included in the export or not.
    • New field: "Date added", so a new file format (the program can still open old files, but previous versions are unable to open files saved with this new version).
    • File properties window that can contain information about the author/owner of the catalog.
    • Same toolbar style for all windows (grayed or always color, depending of the choice the user made in the Preferences window).
    • Movie search based on the title, in the main window and in the "Loans" window.
    • In the "Loans" window the number of movies that each borrower has is always visible.
    • Advanced sort order in the "Export" window
    • Export to SQL commands.
    • Few new tags in the HTML export, e.g. $$ITEM_PICTURENAME that gives only the images filename ($$ITEM_PICTURE creates a <img> tag).
  • 2.0.0 (30/05/2001)
    • Import and export CSV files (text files where fields are delimited by a special character, usable in most of database and excel-like programs).
    • Corrected some bugs for the modified file detection.
    • Import information can create a string of all the sizes of selected files (e.g. 600+350+100 instead of 1050).
    • Some toolbar customization problems solved (not all).
    • Corrected a bug in the title sorting of the export to html function and in the main window movie list sort (when clicking column headers).
    • "Loans" window that allows to manager the movies that your friends borrowed from you.
  • 1.1.0 (15/04/2001)
    • New fields for movie information: Picture and Appreciation.
    • New file format (required for the new field). Files from version 1.0 are still loadable (of course !), but new files will not be usable with old versions of the program.
    • Export window improved.
    • Import information can now get resolution from video files.
    • Width of the movie list in the main window is now saved (in addition of the window's size).
    • Preferences window re-designed.
    • Customizable toolbar.
    • Copy/Paste movie information (e.g. to exchange information between two instances of the application running at the same time).
    • Bug in the "Undo" feature corrected.
    • Help pages.
  • 1.0.0 (18/03/2001)
    • First release. Some functionalities are not yet finished. This will come in the next releases.


About the author, credits & links

This program has been made by Antoine Potten with Borland Delphi 7 under Windows XP.

It has been designed to run on 32-bit Windows and has been tested on Windows 95, 98, NT4, 2000 and XP. It has been reported as working fine on Windows ME and 2003).

You may need to update your system if you are running Windows 95, 98 or NT4. See the download page of my site for links to download updates from Microsoft's website.

At first, I made this program because I didn't had any program that was able to manage my movie list and easily create an HTML page with this list.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR APARTICULAR PURPOSE. See the GNU General Public License for more details.

Contact

  • Mail: software@antp.be
  • Page of Ant Movie Catalog: www.antp.be/software/moviecatalog/

Links

Thanks to the following sites for giving direct access to their data to Ant Movie Catalog users:

  • DVDFR
  • Culturalia

Icons used in icon themes:

  • Scrows' glyphs collections
  • Gnome
  • Everaldo's Crystal icons

Components used:

  • InnoSetup, used for installation procedure
  • MediaInfo, used as DLL
  • Some components from the JVCL
  • Innerfuse Pascal Script version 2
  • TPNGImage
  • CorelButton
  • Toolbar2000
  • TBX
  • SynEdit
  • ElTree Lite
  • FreeReport
  • MyLittleBase, used in the DLL that manages the importation from BaseDVDivx

Translations:

  • Belarussian: dzmitry[li]
  • Bulgarian: Rumen Stoyanov & Momchil Karabulev
  • Catalan: Pau Bosch i Crespo
  • Croatian: Josip Martinčević
  • Czech: Jan Kaltoun & Petr Kříz
  • Danish: Bent Møller Madsen
  • Dutch: Harm Caspers & Marcel Buyle
  • Estonian: Junos
  • Finnish: Jukka-Pekka Jussila
  • French: Antoine Potten
  • German: Johannes Ebner, Bad Joker & Juergen Venne
  • Greek: AllDivXGR
  • Hebrew: Erez Ben Ari
  • Hungarian: Herczeg József Tamás
  • Italian: Jancker & Dino Librandi
  • Korean: 장주을 (Ju Eul, Jang)
  • Latvian: Aldis Bîbers
  • Lithuanian: Vytautas Ribikauskas
  • Macedionian: Wekoslav Stefanovski
  • Norwegian: rulle & Kai V Findahl
  • Polish: Adam "Adma's" Malich & Bogdan Kwietniak
  • Portuguese (Brazil): Filipe Guimarães
  • Portuguese (Portugal): Ricardo Ribeiro
  • Romanian: Dragoş Medinschi
  • Russian: m a x, Alexei Chehowskoi & Vitaliy Krivchikov
  • Serbian: Zoran "ZoNi" Nikolic & Ivan
  • Slovak: Berry
  • Slovenian: Pete Minus
  • Spanish: Sergio Marrero Ponce
  • Swedish: Andreas Johansson
  • Turkish: Özkan Ak & Kemal Seçer